﻿namespace Peter.Common
{
   /// <summary>
   /// Interface for a pluing that implements a file open command.
   /// </summary>
   public interface IFileOperations
   {
      /// <summary>
      /// Opens the given file, return the dock content displaying the file.
      /// </summary>
      /// <param name="filePath">Full path to file to open.</param>
      /// <returns>Dock item displaying file.</returns>
      void Open (string filePath);

      /// <summary>
      /// Checks to see if the save command can/needs to be invoked.
      /// </summary>
      /// <returns>True if save can/needs to be invoked, otherswise false.</returns>
      bool CanSave ();

      /// <summary>
      /// Saves the current data.
      /// </summary>
      void Save ();
   }
}
